Mobile terminals, such as cellular telephones, smartphones, personal digital assistants (PDAs), tablet computers, laptop computers and the like, have become an integral part of many people's work and home lives and serve as a convenient and effective communication tool. Mobile terminals provide an increasingly rich feature set which serves to enhance the user experience by allowing users to access various services and mobile applications. As such, users of mobile terminals generate substantially more network traffic today than in the past, and it is estimated that this trend will only increase with the amount of network traffic generated by users of mobile terminals being substantially greater in the future.
Mobile terminals are at least somewhat resource constrained in terms of computation power, data storage, battery life and screen size. In this regard, the resource constraints relating to computation power, data storage and battery life are generally only exacerbated as the users of mobile terminals generate increasing amounts of network traffic. In an effort to address at least some of these resource constraints, cloud computing may support mobile terminals and permit even wide deployment of rich services by the mobile terminals. In this regard, cloud computing virtualizes physical and software resources and provides generic services, such as, infrastructure as a service (IaaS), software as a service (SaaS), etc. Relative to its support of mobile terminals, mobile cloud computing provides an infrastructure and associated mechanisms for providing computation and data storage capabilities to mobile devices. In comparison to a traditional information technology infrastructure, cloud computing may provide improvements with respect to scalability, agility and economic efficiency.
Referring now to FIG. 1, a mobile cloud computing system is illustrated in which one or more cloud service providers 12 may support a mobile terminal 10. In this regard, a mobile terminal may access one or more cloud service providers via a wireless network. Indeed, the mobile terminal may access a respective access network 14, such as a cellular network, a WiFi network or the like. The access network may, in turn, provide the mobile terminal with access to a wide area network 16, such as the Internet, that supports communication with the client service providers.
Although cloud computing offers a number of advantages, mobile terminals are generally not optimized in regard to the access and utilization of cloud computing resources. In this regard, mobile terminals are not generally optimized in terms of performance parameters, such as response time, computation costs or the like, with respect to utilization of cloud computing resources. Additionally, mobile cloud computing generally requires relatively frequent access and synchronization between the mobile terminals and cloud service providers. However, mobile networks may introduce considerable delay that may disadvantageously impact the performance and user experience with respect to the utilization of cloud services. Furthermore, the mobility of mobile terminals may cause the interruption or disconnection of cloud services such that mobile cloud computing may have difficulty supporting the mobility of mobile terminals and providing for a seamless user experience.
In order to enhance the provision of cloud services to mobile terminals, CloneCloud has been proposed by B. G. Chun, et al, in an article entitled “Clone Clouds: Elastic Execution Between Mobile Device and Cloud” in the Proceedings of the 6th Conference on Computer Systems (EuroSys), pages 301-314 (April 2011). CloneCloud utilizes nearby computers or data centers to increase the speed with which mobile terminals execute applications. In this regard, an entire set of data and applications of the mobile terminal may be cloned on to the cloud computing resources and then selectively executed with the results being reintegrated back into the mobile terminal.
A cloudlet has also been proposed by N. Satyanarayanan, et al. in an article entitled “The Case for VM-Based Cloudlets and Mobile Computing” in IEEE Pervasive Computing, Vol. 8, No. 4, pages 14-23 (October 2009). A cloudlet is a trusted, resource-rich computer or cluster of computers which is connected to the Internet and available for use by nearby mobile terminals. As such, in an instance in which a mobile terminal does not wish to offload processing or other workload to the cloud resources, such as'due to delay, cost, etc., a mobile terminal may locate and utilize a nearby cloudlet. In this regard, a mobile terminal may satisfy the demands for real-time interactive response with a low-latency, one-hop, high-bandwidth wireless access to the cloudlet. In an instance in which a cloudlet is unavailable, the mobile terminal may operate in accordance with the default mode, such as by requesting assistance from more distant cloud computing resources or, alternatively, relying solely upon its own resources.
Still further, X. Jin, et al., in an article entitled “Cloud Assisted P2P media Streaming for Bandwidth Constrained Mobile Subscribers” in the Proceedings of the 16th IEEE International Conference on Parallel and Distributed Systems (ICPADS), page 800 (January 2011) proposes to share a limited bandwidth among mobile terminals that are located in the same area and utilizing the same content. In this regard, the interaction among the mobile terminals is modeled as a coalitional game.
These and other techniques have provided offboard support for mobile terminals in order to address at least some of the resource constraints and to improve the performance of mobile terminals and the resulting user experience, although the performance and user experience offered by mobile terminals could be further improved.